package com.yonyou.cyxdms.basedata.service.vo.productprice;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.yonyou.cyx.function.utils.jsonserializer.localdatetime.JsonLocalDateTimeDeserializer;
import com.yonyou.cyx.function.utils.jsonserializer.localdatetime.JsonLocalDateTimeQueryBeginDeserializer;
import com.yonyou.cyx.function.utils.jsonserializer.localdatetime.JsonLocalDateTimeQueryBeginSerializer;
import com.yonyou.cyx.function.utils.jsonserializer.localdatetime.JsonLocalDateTimeSerializer;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiParam;

import java.time.LocalDateTime;

/**
 * @author lijun
 * @since 2019/12/17
 */
public class SaveProductPriceVO {

    /**
     * 整车产品_ID
     */
    @ApiParam(name = "整车产品_ID", value = "整车产品_ID")
    private Long productId;

    /**
     * 品牌ID
     */
    @ApiParam(name = "品牌ID", value = "品牌ID")
    private Long brandId;
    /**
     * 车系ID
     */
    @ApiParam(name = "车系ID", value = "车系ID")
    private Long seriesId;

    /**
     * 车型ID
     */
    @ApiParam(name = "车型ID", value = "车型ID")
    private Long modelId;

    /**
     * 配置_ID
     */
    @ApiParam(name = "配置ID", value = "配置ID")
    private Long packageId;
    
    /**
     * 选装ID
     */
    @ApiParam(name = "选装ID", value = "选装ID")
    private Long optionId;

    /**
     * 颜色ID
     */
    @ApiParam(name = "颜色ID", value = "颜色ID")
    private Long colorId;

    @ApiParam(name = "颜色代码", value = "颜色代码")
    private String colorCode;

    @ApiParam(name = "颜色名称", value = "颜色名称")
    private String colorName;

    /**
     * 产品代码
     */
    @ApiParam(name = "产品代码", value = "产品代码")
    private String productCode;
    /**
     * 产品名称
     */
    @ApiParam(name = "产品名称", value = "产品名称")
    private String productName;

    /**
     * 内饰色
     */
    @ApiParam(name = "内饰色", value = "内饰色")
    private String trimColor;

    /**
     * 正常，退市
     */
    @ApiParam(name = "正常，退市", value = "正常，退市")
    private Integer productStatus;

    /**
     * 是，否
     */
    @ApiParam(name = "是:10041001，否:10041002", value = "是:10041001，否:10041002")
    private Integer isValid;

    /**
     * 车厂指导价
     */
    @ApiParam(name = "车厂指导价", value = "车厂指导价")
    private Double oemDirectivePrice;

    /**
     * 采购单价
     */
    @ApiParam(name = "采购单价", value = "采购单价")
    private Double purchasePrice;

    /**
     * 上市日期
     */
    @ApiParam(name = "上市日期", value = "上市日期")
    private String enterDate;
    /**
     * 退市日期
     */
    @ApiParam(name = "退市日期", value = "退市日期")
    private String exeuntDate;

    /**
     * 备注
     */
    @ApiParam(name = "备注", value = "备注")
    private String remark;

    /**
     * 车辆来源：国产车、进口车、平行进口车
     */
    @ApiParam(name = "车辆来源：国产车、进口车、平行进口车", value = "车辆来源：国产车、进口车、平行进口车")
    private Integer vehicleSources;

    /**
     * 是否可订购
     */
    @ApiParam(name = "是否可订购", value = "是否可订购")
    private Integer orderStatus;

    /**
     * 年型
     */
    @ApiParam(name = "年型", value = "年型")
    private Integer yearModel;

    /**
     * 排量
     */
    @ApiParam(name = "排量", value = "排量")
    private Integer disPlacement;

    /**
     * 排放标准
     */
    @ApiParam(name = "排放标准", value = "排放标准")
    private Integer dischargeStandard;

    /**
     * 续航里程
     */
    @ApiParam(name = "续航里程", value = "续航里程")
    private Integer enduranceMileage;

    /**
     * 变速箱
     */
    @ApiParam(name = "变速箱", value = "变速箱")
    private Integer transMission;

    /**
     * 产品描述
     */
    @ApiParam(name = "产品描述", value = "产品描述")
    private String productDesc;

    /**
     * 是否下发
     */
    @ApiModelProperty(name = "是否下发", value = "是否下发")
    private Integer isIssue;

    /**
     * 内饰色
     */
    @ApiParam(name = "内饰色id", value = "内饰色id")
    private Long trimColorId;

    @ApiParam(name = "内饰色名称", value = "内饰色名称")
    private String trimColorName;

    /**
     * 公告号
     */
    @ApiParam(name = "公告号", value = "公告号")
    private String noticeNo;

    /** 电池厂家 **/
    @ApiParam(name = "电池厂家", value = "电池厂家")
    private String batteryOem;
    /** 电池容量  **/
    @ApiParam(name = "电池容量", value = "电池容量")
    private String batteryVolume;
    /** 电机品牌 **/
    @ApiParam(name = "电机品牌", value = "电机品牌")
    private String powerMachineBrand;
    /** 动力代码 **/
    @ApiParam(name = "动力代码", value = "动力代码")
    private String powerCode;
    /** Powerstrain/动力 **/
    @ApiParam(name = "Powerstrain/动力 ", value = "Powerstrain/动力 ")
    private String powerCodeDesc;
    /** 年型版本代码 **/
    @ApiParam(name = "年型版本代码", value = "年型版本代码")
    private String yearModelCode;
    /** Year Edition/年型版本 **/
    @ApiParam(name = "Year Edition/年型版本", value = "Year Edition/年型版本")
    private String yearModelName;
    /** 传动系统代码 **/
    @ApiParam(name = "传动系统代码", value = "传动系统代码")
    private String runSystemCode;
    /** 传动系统 **/
    @ApiParam(name = "传动系统", value = "传动系统")
    private String runSystemName;
    /** 方向盘位置代码 **/
    @ApiParam(name = "方向盘位置代码", value = "方向盘位置代码")
    private String steeringWheelCode;
    /** 方向盘位置 **/
    @ApiParam(name = "方向盘位置", value = "方向盘位置")
    private String steeringWheelName;
    /** 市场代码 **/
    @ApiParam(name = "市场代码", value = "市场代码")
    private String marketCode;
    /** 市场 **/
    @ApiParam(name = "市场", value = "市场")
    private String marketName;
    /** 大小量纲 **/
    @ApiParam(name = "大小量纲", value = "大小量纲")
    private String productDxlg;
    /** 备注 **/
    @ApiParam(name = "备注", value = "备注")
    private String productCommnet;
    @ApiParam(name = "项目代号", value = "项目代号")
    private String projectCode;
    @ApiParam(name = "销售版本", value = "销售版本")
    private String salesVersionName;
    @ApiParam(name = "驱动形式", value = "驱动形式")
    private String driveStyleName;
    @ApiParam(name = "动力电池编码", value = "动力电池编码")
    private String batteryCode;

    /**
     * 启用时间
     */
    @ApiParam(name = "启用时间", value = "启用时间")
    @JsonDeserialize(using = JsonLocalDateTimeQueryBeginDeserializer.class)
    @JsonSerialize(using = JsonLocalDateTimeQueryBeginSerializer.class)
    private LocalDateTime startDate;

    @ApiModelProperty(value = "修改时间")
    @JsonDeserialize(using = JsonLocalDateTimeDeserializer.class)
    @JsonSerialize(using = JsonLocalDateTimeSerializer.class)
    private LocalDateTime updatedAt;

    @ApiModelProperty(value = "创建时间")
    @JsonDeserialize(using = JsonLocalDateTimeDeserializer.class)
    @JsonSerialize(using = JsonLocalDateTimeSerializer.class)
    private LocalDateTime createdAt;

    @ApiModelProperty(value = "修改人")
    private String updatedBy;

    @ApiModelProperty(value = "创建人")
    private String createdBy;

    public Long getProductId() {
        return productId;
    }

    public void setProductId(Long productId) {
        this.productId = productId;
    }

    public Long getBrandId() {
        return brandId;
    }

    public void setBrandId(Long brandId) {
        this.brandId = brandId;
    }

    public Long getSeriesId() {
        return seriesId;
    }

    public void setSeriesId(Long seriesId) {
        this.seriesId = seriesId;
    }

    public Long getModelId() {
        return modelId;
    }

    public void setModelId(Long modelId) {
        this.modelId = modelId;
    }

    public Long getPackageId() {
        return packageId;
    }

    public void setPackageId(Long packageId) {
        this.packageId = packageId;
    }

    public Long getColorId() {
        return colorId;
    }

    public void setColorId(Long colorId) {
        this.colorId = colorId;
    }

    public String getProductCode() {
        return productCode;
    }

    public void setProductCode(String productCode) {
        this.productCode = productCode;
    }

    public String getProductName() {
        return productName;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public String getTrimColor() {
        return trimColor;
    }

    public void setTrimColor(String trimColor) {
        this.trimColor = trimColor;
    }

    public Integer getProductStatus() {
        return productStatus;
    }

    public void setProductStatus(Integer productStatus) {
        this.productStatus = productStatus;
    }

    public Integer getIsValid() {
        return isValid;
    }

    public void setIsValid(Integer isValid) {
        this.isValid = isValid;
    }

    public Double getOemDirectivePrice() {
        return oemDirectivePrice;
    }

    public void setOemDirectivePrice(Double oemDirectivePrice) {
        this.oemDirectivePrice = oemDirectivePrice;
    }

    public Double getPurchasePrice() {
        return purchasePrice;
    }

    public void setPurchasePrice(Double purchasePrice) {
        this.purchasePrice = purchasePrice;
    }

    public String getEnterDate() {
        return enterDate;
    }

    public void setEnterDate(String enterDate) {
        this.enterDate = enterDate;
    }

    public String getExeuntDate() {
        return exeuntDate;
    }

    public void setExeuntDate(String exeuntDate) {
        this.exeuntDate = exeuntDate;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Integer getVehicleSources() {
        return vehicleSources;
    }

    public void setVehicleSources(Integer vehicleSources) {
        this.vehicleSources = vehicleSources;
    }

	public Long getOptionId() {
		return optionId;
	}

	public void setOptionId(Long optionId) {
		this.optionId = optionId;
	}

    public Integer getOrderStatus() {
        return orderStatus;
    }

    public void setOrderStatus(Integer orderStatus) {
        this.orderStatus = orderStatus;
    }

    public Integer getYearModel() {
        return yearModel;
    }

    public void setYearModel(Integer yearModel) {
        this.yearModel = yearModel;
    }

    public Integer getDisPlacement() {
        return disPlacement;
    }

    public void setDisPlacement(Integer disPlacement) {
        this.disPlacement = disPlacement;
    }

    public Integer getDischargeStandard() {
        return dischargeStandard;
    }

    public void setDischargeStandard(Integer dischargeStandard) {
        this.dischargeStandard = dischargeStandard;
    }

    public Integer getEnduranceMileage() {
        return enduranceMileage;
    }

    public void setEnduranceMileage(Integer enduranceMileage) {
        this.enduranceMileage = enduranceMileage;
    }

    public Integer getTransMission() {
        return transMission;
    }

    public void setTransMission(Integer transMission) {
        this.transMission = transMission;
    }

    public Integer getIsIssue() {
        return isIssue;
    }

    public void setIsIssue(Integer isIssue) {
        this.isIssue = isIssue;
    }

    public LocalDateTime getStartDate() {
        return startDate;
    }

    public void setStartDate(LocalDateTime startDate) {
        this.startDate = startDate;
    }

    public LocalDateTime getUpdatedAt() {
        return updatedAt;
    }

    public void setUpdatedAt(LocalDateTime updatedAt) {
        this.updatedAt = updatedAt;
    }

    public LocalDateTime getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(LocalDateTime createdAt) {
        this.createdAt = createdAt;
    }

    public String getUpdatedBy() {
        return updatedBy;
    }

    public void setUpdatedBy(String updatedBy) {
        this.updatedBy = updatedBy;
    }

    public String getCreatedBy() {
        return createdBy;
    }

    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }

    public String getProductDesc() {
        return productDesc;
    }

    public void setProductDesc(String productDesc) {
        this.productDesc = productDesc;
    }

    public Long getTrimColorId() {
        return trimColorId;
    }

    public void setTrimColorId(Long trimColorId) {
        this.trimColorId = trimColorId;
    }

    public String getNoticeNo() {
        return noticeNo;
    }

    public void setNoticeNo(String noticeNo) {
        this.noticeNo = noticeNo;
    }

    public String getBatteryOem() {
        return batteryOem;
    }

    public void setBatteryOem(String batteryOem) {
        this.batteryOem = batteryOem;
    }

    public String getBatteryVolume() {
        return batteryVolume;
    }

    public void setBatteryVolume(String batteryVolume) {
        this.batteryVolume = batteryVolume;
    }

    public String getPowerMachineBrand() {
        return powerMachineBrand;
    }

    public void setPowerMachineBrand(String powerMachineBrand) {
        this.powerMachineBrand = powerMachineBrand;
    }

    public String getPowerCode() {
        return powerCode;
    }

    public void setPowerCode(String powerCode) {
        this.powerCode = powerCode;
    }

    public String getPowerCodeDesc() {
        return powerCodeDesc;
    }

    public void setPowerCodeDesc(String powerCodeDesc) {
        this.powerCodeDesc = powerCodeDesc;
    }

    public String getYearModelCode() {
        return yearModelCode;
    }

    public void setYearModelCode(String yearModelCode) {
        this.yearModelCode = yearModelCode;
    }

    public String getYearModelName() {
        return yearModelName;
    }

    public void setYearModelName(String yearModelName) {
        this.yearModelName = yearModelName;
    }

    public String getRunSystemCode() {
        return runSystemCode;
    }

    public void setRunSystemCode(String runSystemCode) {
        this.runSystemCode = runSystemCode;
    }

    public String getRunSystemName() {
        return runSystemName;
    }

    public void setRunSystemName(String runSystemName) {
        this.runSystemName = runSystemName;
    }

    public String getSteeringWheelCode() {
        return steeringWheelCode;
    }

    public void setSteeringWheelCode(String steeringWheelCode) {
        this.steeringWheelCode = steeringWheelCode;
    }

    public String getSteeringWheelName() {
        return steeringWheelName;
    }

    public void setSteeringWheelName(String steeringWheelName) {
        this.steeringWheelName = steeringWheelName;
    }

    public String getMarketCode() {
        return marketCode;
    }

    public void setMarketCode(String marketCode) {
        this.marketCode = marketCode;
    }

    public String getMarketName() {
        return marketName;
    }

    public void setMarketName(String marketName) {
        this.marketName = marketName;
    }

    public String getProductDxlg() {
        return productDxlg;
    }

    public void setProductDxlg(String productDxlg) {
        this.productDxlg = productDxlg;
    }

    public String getProductCommnet() {
        return productCommnet;
    }

    public void setProductCommnet(String productCommnet) {
        this.productCommnet = productCommnet;
    }

    public String getProjectCode() {
        return projectCode;
    }

    public void setProjectCode(String projectCode) {
        this.projectCode = projectCode;
    }

    public String getSalesVersionName() {
        return salesVersionName;
    }

    public void setSalesVersionName(String salesVersionName) {
        this.salesVersionName = salesVersionName;
    }

    public String getDriveStyleName() {
        return driveStyleName;
    }

    public void setDriveStyleName(String driveStyleName) {
        this.driveStyleName = driveStyleName;
    }

    public String getBatteryCode() {
        return batteryCode;
    }

    public void setBatteryCode(String batteryCode) {
        this.batteryCode = batteryCode;
    }

    public String getColorCode() {
        return colorCode;
    }

    public void setColorCode(String colorCode) {
        this.colorCode = colorCode;
    }

    public String getColorName() {
        return colorName;
    }

    public void setColorName(String colorName) {
        this.colorName = colorName;
    }

    public String getTrimColorName() {
        return trimColorName;
    }

    public void setTrimColorName(String trimColorName) {
        this.trimColorName = trimColorName;
    }
}
